#ifndef EDITERLAYER_H
#define EDITERLAYER_H
#include "Engine.h"
namespace HS {

	class EditorLayer : public Layer
	{
	public:
		EditorLayer();
		virtual ~EditorLayer() = default;

		virtual void OnAttach() override;
		virtual void OnDetach() override;

		void OnUpdate(Timestep ts) override;
		virtual void OnImGuiRender() override;
		void OnEvent(Event& e) override;
	private:
		std::shared_ptr<VertexArray> m_VertexArray;
		std::shared_ptr<VertexBuffer> m_VertexBuffer;
		std::shared_ptr<IndexBuffer> m_IndexBuffer;
		std::shared_ptr<Framebuffer> m_FrameBuffer;

		std::shared_ptr<VertexArray> m_SqurVAO;
		std::shared_ptr<Texture2D> m_Texture, m_Texture1;
		ShaderLibrary shaderLibrary;
		OrthoCamera m_Camera;
		glm::vec3 m_SquareColor = { 0.2f, 0.3f, 0.8f };
		glm::vec2 m_ViewPortSize = glm::vec2(0.0f);
		bool m_IsViewPortFocus = false;
		bool m_IsViewPortHover = false;

	};

}

#endif // !EDITERLAYER_H

